package com.company;
import java.text.NumberFormat;

import java.util.Scanner;

public class Main {
    private static String toFixed(double Value) {
        NumberFormat nf = NumberFormat.getInstance();
        nf.setMaximumFractionDigits(1);
        return nf.format(Value);
    }
    public static void main(String[] args) {
        //01   使用二重循环打印矩形,平行四边形,等腰三角形
        //矩形
        /*for (int i = 1; i <=5 ; i++) {
            for (int j = 1; j <=5 ; j++) {
                System.out.print("* ");
            }
            System.out.println();
        }*/

        //平行四边形
        /*for (int i = 1; i <=5 ;i++){
            for (int j = 1; j <= 5-i;j++){
                System.out.print(" ");
            }
            for (int k = 1; k <= 5;k++){
                System.out.print("*");
            }
            System.out.println();
        }*/

        //等腰三角形
        /*for (int i = 1;i <= 5;i++){
            for (int j = 0;j < 5-i;j++){
                System.out.print(" ");
            }
            for (int k = 1;k <= (2*i-1);k++){
                System.out.print("*");
        }
            System.out.println();

        }*/
        //打印实体菱形，实心菱形
        /*System.out.println("打印菱形：");
        for (int i = 1; i <= 4; i++) {
            for (int j = 4; j >= i; j--) {
                System.out.print(" ");
            }
            for (int m = 1; m <= 2 * i - 1; m++) {
                System.out.print("*");
            }
            for (int j = 4; j >= i; j--) {
                System.out.print(" ");
            }
            System.out.println();
        }
        for (int i = 1; i <= 3; i++) {
            for (int j = 1; j <= i + 1; j++) {
                System.out.print(" ");
            }
            for (int m = 5; m >= 2 * i - 1; m--) {
                System.out.print("*");
            }
            for (int j = 1; j <= i + 1; j++) {
                System.out.print(" ");
            }
            System.out.println();
        }*/

        //实现输出1-100中的所有不能被7整除的数，并求和。
        /*int sum = 0;
        for(int i =1;i <= 100;i++){
            if(i%7==0){
                sum += i;
                continue;
            }
            System.out.println("1-100中所有不能被7整除的数有：" + i + "\t");
        }
        System.out.println("它们的和为：" + sum);*/

        //打印输出100至200之间的全部素数。
        //提示：素数是指仅能被1和它本身整除的数。
        // 算法比较简单，先将这个数被2除，如果能整除，且该数又不等于2，则该数不是素数。
        // 如果该数不能被2整除，再看是否能被3整除，并且该数不等于3，则该数不是素数，
        // 否则再判断是否能被4整除，依次类推，该数只要是能被小于其本身的某个数整除时，就不是素数。
        /*for (int i = 101; i < 200; i++) {
            boolean isPrime = true;
            for (int j = 2; j < i; j++) {
                if (i % j == 0) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime) {
                System.out.print(i + "\t");
            }*/


        //	若有3个班级各4名学员参赛，如何计算每个班级参赛学员的平均分？

        /*Scanner input = new Scanner(System.in);
        double sum = 0.0;
        double avg, score;
        for (int i = 1; i <= 3; i++) {
            System.out.println("请输入第" + i + "个班级的成绩：");
            for (int j = 1; j <= 4; j++) {
                System.out.print("第" + j + "个学员的成绩：");
                score = input.nextInt();
                sum += score;
            }
            avg = sum / 4;
            System.out.println("第" + i + "个班参赛学员的平均分是" + toFixed(avg) + "\n");
            sum = 0.0;
        }*/

        //斐波拉契数列数列
        //输出：1 1 2 3 5 8 数列的前30项
        //斐波那契数列又称黄金分割数列、因数学家列昂纳多·斐波那契（Leonardoda Fibonacci）
        // 以兔子繁殖为例子而引入，故又称为“兔子数列”。
        // 在数学上，斐波纳契数列以如下被以递归的方法定义：
        // F(0)=0，F(1)=1, F(n)=F(n-1)+F(n-2)（n>=2，n∈N*）。
        //斐波那契数列指的是这样一个数列
        // 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233，377，610，987，
        // 1597，2584，4181，6765，10946，17711，28657，46368........，
        // 这个数列从第3项开始，每一项都等于前两项之和。
        /*int f1 =1,f2 =1;
        for(int i = 1;i <= 14;i++){
            f1 = f1 + f2;
            f2 = f2 + f1;
            System.out.print(f1 + " " + f2 + " ");
        }*/


        //打印如下九九乘法口诀表（复习）
        /*for(int i = 1;i <= 9;i++){
            for(int j = 1; j<=i;j++){
                System.out.printf("%d x %d = %d\t",j,i,(j*i));
            }
            System.out.println();*/


        //有四个数字：1、2、3、4，能组成多少个互不相同且无重复数字的三位数？各是多少？
        /*int count =0;
        for (int i = 1; i <= 4; i++) {
            for (int j = 1; j <= 4; j++) {
                for (int m = 1; m <= 4; m++) {
                    if (i != j && j != m && i != m) {

                        count++;
                        System.out.print(i*100 + j *10 + m + " ");
                    }
                }
            }
        }
        System.out.println("\n能组成" + count + "个互不相同且无重复的三位数");*/

    }
}

